package com.ruoyi.publish.service;

import java.util.List;

import com.ruoyi.publish.domain.IdAcceptRegister;
import com.ruoyi.publish.domain.IdIdentsample;

/**
 * 鉴定样本Service接口
 *
 * @author 张泽望
 * @date 2020-11-08
 */
public interface IIdIdentsampleService {
    /**
     * 查询鉴定样本
     *
     * @param id 鉴定样本ID
     * @return 鉴定样本
     */
    public IdIdentsample selectIdIdentsampleById(Long id);

    /**
     * 查询鉴定样本
     *
     * @param ids 鉴定样本ID列表
     * @return 鉴定样本
     */
    public List<IdIdentsample> selectIdIdentsampleByIds(Long[] ids);

    /**
     * 查询鉴定样本列表
     *
     * @param idIdentsample 鉴定样本
     * @return 鉴定样本集合
     */
    public List<IdIdentsample> selectIdIdentsampleList(IdIdentsample idIdentsample);

    /**
     * 新增鉴定样本
     *
     * @param idIdentsample 鉴定样本
     * @return 结果
     */
    public int insertIdIdentsample(IdIdentsample idIdentsample);

    /**
     * 修改鉴定样本
     *
     * @param idIdentsample 鉴定样本
     * @return 结果
     */
    public int updateIdIdentsample(IdIdentsample idIdentsample);

    /**
     * 批量删除鉴定样本
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteIdIdentsampleByIds(String ids);

    /**
     * 删除鉴定样本信息
     *
     * @param id 鉴定样本ID
     * @return 结果
     */
    public int deleteIdIdentsampleById(Long id);


    /**
     * 是否启用状态修改
     *
     * @param IdIdentsample 鉴定受理登记
     * @return 结果
     */
    public int changeStatus(IdIdentsample idIdentsample);

    /**
     * 查询鉴定样本和鉴定列表
     *
     * @param idIdentsample 鉴定样本
     * @return 鉴定样本集合
     */
    public List<IdIdentsample> selectIdIdentsampleRegisterList(IdIdentsample idIdentsample);

    /**
     * @Description: 获得相应的样本编码
     */
    public String getSampleCode(IdIdentsample idIdentsample);

    /**
     * 导入鉴定案件
     *
     * @param idIdentsampleList 用户数据列表
     * @param isUpdateSupport   是否更新支持，如果已存在，则进行更新数据
     * @param operName          操作用户
     * @return 结果
     */
    public String importIdIdentsample(List<IdIdentsample> idIdentsampleList, Boolean isUpdateSupport, String operName,String userName, String year, long registerId);

    /**
     * 根据id导出数据
     *
     * @param ids
     * @return
     */
    public List<IdIdentsample> selectRecordByIds(String[] ids);

    /**
     * 根据id 修改记录by1为null
     *
     * @param ids
     * @return
     */
    public int idSampleToNull(Long id);
}
